<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    


    <script>
        // var arr = [1,34,5,6]
        // var res1 = arr.push(4);  //在数组后面增加一个
        // console.log(res1) //返回数组长度
        // console.log(arr)  //改变原数组，返回新数组
        // var res2 = arr.unshift(1);//在数组前面加一个
        // console.log(res2) //返回长度
        // console.log(arr)  //新数组

        // 删
        // var arr1 = [12,4,66,3];
        // var res1 = arr1.pop();  //数组后面删一个
        // console.log(res1); //返回删除的元素
        // console.log(arr1);  //删除后的新数组
        // var res2 =arr1.shift();
        // console.log(res2);   //返回删除的元素

        // splice 增删改
        // arr.splice(index(开始索引),n(删除的元素),ele(要加入的元素))
        // var arr = [1,34,5,6]
        // var res1 = arr.splice(1,0,3);  //在索引1的位置添加3
        // console.log(res1);  //返回删除的内容
        // console.log(arr);  /返回新数组
        // var res2 = arr.splice(1,2,4)  //在索引1的位置删除2两个增加4这个数字
        // console.log(res2);  //返回删除的元素
        // console.log(arr);

        // slice(start(开始索引),end(结束索引（不包含end）))  复制数字中的一段
        // var arr = [1,34,5,6,324,45,1];
        // var res1 = arr.slice(1,4);
        // console.log(res1);
        
        // concat 将多个数组合并成一个新数组
        //  var arr= [1,5,2,4,7];
        //  var arr1 =[2,5,7]
        //  var arr3 = arr.concat(arr1);
        //  console.log(arr3);

        //  indexof 元素所对应的索引
        // var arr5 = [1,3,6,7,3]
        // console.log(arr5.indexOf(3));
        // console.log(arr5.indexOf(8));  //没有返回-1
        // console.log(arr5.lastIndexOf(3));

        // sort 排序
        // var arr2 = [1,6,8,2];
        // // console.log(arr2.sort());  按ASCII排序
        //  var res2 = arr2.sort(function(a,b){
        //     return a-b;
        //  })
        //  console.log(res2);
        // //  转换为数组
        //  console.log(arr2.toString());
        //  console.log(arr2.join('-'));

        //  var arr1 = ['a','b','c','d'];
        //  遍历，没有返回值
        //  var res1 = arr1.forEach(function(item,index,arr){
        //     console.log(item,index,arr);
        //  })
            // 遍历，有返回值
        //   var res2 = arr1.map(function(item){
        //     // console.log(item);
        //     return item;
        //   })
        //   console.log(res2);
        //   console.log(arr1);

           var arr1 = [1,5,2,3,6,4];
        //    var res1 = arr1.filter(function(item,index,arr){
        //     return item <3;
        //    })
        //    console.log(res1);  //筛选出来的  [1,2]
        //    console.log(arr1);
        
        // 遍历，只要有一个满足就行
            // var res1 = arr1.some(function(item,index,arr){
            //     return item < 3;
            // })
            // console.log(res1);

            // // 遍历，要全部满足
            // var res2 = arr1.every(function(item,index,arr){
            //         return item <3;
            // })
            // console.log(res2)
        
            // reduce(previous(上次返回值),current(当前遍历的元素),index(当前对应的索引),arr(数组));
            var arr3 = [1,5,3,6,7];
            // 没有初始值
            var res3 = arr3.reduce(function(precious,current,index,arr){
                console.log(index);
                return precious + current;
            })

            // 有初始值
            var res4 = arr3.reduce(function(precious,current,index,arr){
                console.log(index);
                return precious + current;
            },0);



    </script>
</body>
</html>